package jp.co.nes.awssupport.business.bean;

import java.math.BigDecimal;
import java.time.ZonedDateTime;

import com.amazonaws.regions.Regions;

import jp.co.nes.awssupport.common.bean.AwsKeyBean;
import jp.co.nes.awssupport.common.bean.BaseBean;

/**
 * ReservedInputです。<br>
 * AWSのAPI呼び出し時に使用します。
 */
public class ReservedInputBean extends BaseBean {

    /** serialVersionUID */
    private static final long serialVersionUID = 1L;

    /** リージョン */
    private Regions regions;

    /** リザーブドインスタンスのID */
    private String id;

    /** 製品名 */
    private String productName;

    /** 使用開始日時 */
    private ZonedDateTime usageStartDate;

    /** 使用終了日時 */
    private ZonedDateTime usageEndDate;

    /** 使用量 */
    private BigDecimal usageQuantity;

    /** AwsKey */
    private AwsKeyBean awsKeyBean;

    /**
     * デフォルトコンストラクタです。
     */
    public ReservedInputBean() {
    }

    /**
     * リージョンを返却します。
     *
     * @return リージョン
     */
    public Regions getRegions() {
        return regions;
    }

    /**
     * リージョンを設定します。
     *
     * @param regions リージョン
     */
    public void setRegions(Regions regions) {
        this.regions = regions;
    }

    /**
     * リザーブドインスタンスのIDを返却します。
     *
     * @return リザーブドインスタンスのID
     */
    public String getId() {
        return id;
    }

    /**
     * リザーブドインスタンスのIDを設定します。
     *
     * @param id リザーブドインスタンスのID
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 製品名を返却します。
     *
     * @return 製品名
     */
    public String getProductName() {
        return productName;
    }

    /**
     * 製品名を設定します。
     *
     * @param productName 製品名
     */
    public void setProductName(String productName) {
        this.productName = productName;
    }

    /**
     * 使用開始日時を返却します。
     *
     * @return 使用開始日時
     */
    public ZonedDateTime getUsageStartDate() {
        return usageStartDate;
    }

    /**
     * 使用開始日時を設定します。
     *
     * @param usageStartDate 使用開始日時
     */
    public void setUsageStartDate(ZonedDateTime usageStartDate) {
        this.usageStartDate = usageStartDate;
    }

    /**
     * 使用終了日時を返却します。
     *
     * @return 使用終了日時
     */
    public ZonedDateTime getUsageEndDate() {
        return usageEndDate;
    }

    /**
     * 使用終了日時を設定します。
     *
     * @param usageEndDate 使用終了日時
     */
    public void setUsageEndDate(ZonedDateTime usageEndDate) {
        this.usageEndDate = usageEndDate;
    }

    /**
     * 使用量を返却します。
     *
     * @return 使用量
     */
    public BigDecimal getUsageQuantity() {
        return usageQuantity;
    }

    /**
     * 使用量を設定します。
     *
     * @param usageQuantity 使用量
     */
    public void setUsageQuantity(BigDecimal usageQuantity) {
        this.usageQuantity = usageQuantity;
    }

    /**
     * AwsKeyを返却します。
     *
     * @return AwsKey
     */
    public AwsKeyBean getAwsKeyBean() {
        return awsKeyBean;
    }

    /**
     * AwsKeyを設定します。
     *
     * @param awsKeyBean AwsKey
     */
    public void setAwsKeyBean(AwsKeyBean awsKeyBean) {
        this.awsKeyBean = awsKeyBean;
    }
}
